sql: remove epoch info query cache #6575
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
The epoch info query cache mechanism contains a hard-to-fix deadlock, possibly due to a recursive RLock() on an RWMutex. Moreover, due to an oversight, in the default fetcher mode (streaming) epoch query cache is not actually being used, while the cached slice update calls which are causing deadlock are still being made upon adding each new ATX.
With syncv2, epoch info cache will no longer be needed at all, and with current network size, it isn't very useful either.
Description
This change removes epoch query cache, keeping blob query cache for now.
Test Plan
Make sure tests pass, including systests.